package com.jnetwork.negocio;

import com.jnetwork.dao.VotoDAO;
import com.jnetwork.exception.DAOExcepcion;

import com.jnetwork.modelo.Voto;

public class GestionVoto {

	public Integer insertar(Voto voto) throws DAOExcepcion {

		Integer valor = null;
		
		if (voto.getValor()!=null && voto.getValor()>0) {
			valor = voto.getValor();
		}else{
			throw new DAOExcepcion("Debe ingresar el valor del voto");
		}
		
		
		Integer ideaId = null;
		if (voto.getIdea() != null && voto.getIdea().getId() != null
				&& voto.getIdea().getId() > 0) {
			ideaId = voto.getIdea().getId();
		}

		Integer usuarioId = null;
		if (voto.getUsuario() != null && voto.getUsuario().getId() != null
				&& voto.getUsuario().getId() > 0) {
			usuarioId = voto.getUsuario().getId();
		}

		VotoDAO dao = new VotoDAO();

		Voto votoEncontrado = dao.obtener(usuarioId, ideaId);
		if (votoEncontrado.getId() == null) {
			
			return dao.insertar(valor, ideaId, usuarioId);
			
		} else {
			
			throw new DAOExcepcion(
					"Ya se encuentra registrado su voto para la idea "
							+ votoEncontrado.getId());
		}

	}

}
